#ifndef SENSORS_H_
#define SENSORS_H_

#include <QWidget>
#include <QString>
#include <QMap>

class QMainWindow;
class QWebFrame;
class SymbianSDKSensors;


class Sensors : public QObject
{
	Q_OBJECT
	
public:
	Sensors();
	virtual ~Sensors();
	
public slots:
	void setEnvironment(QMainWindow *parentWindow, QWebFrame *webFrame);
	void findSensorChannel(const QString &criteria);
	int registerForNotification(const QString &listeningType, int ChannelId, int ContectType, int Quantity, int ChannelType, const QString &Location, const QString &VendorId, int DataItemSize, int ChannelDataTypeId);
	void cancel(int criteria);
	void getChannelProperty(const QString &listeningType, int ChannelId, int ContextType, int Quantity, int ChannelType, const QString &Location, const QString &VendorId, int DataItemSize, int ChannelDataTypeId, const QString &PropertyId);

private slots:

public: 
	
	void addChannelInfo(int ChannelId, int ContextType, int Quantity, int ChannelType, const QString &location, const QString &VendorId, int DataItemSize, int ChannelDataTypeId);
	void accelerometerEvent(int transactionId, int axisX, int axisY, int axisZ, long timeStamp);
	void orientationEvent(int transactionId, int deviceOrientation, long timeStamp);
	void tappingEvent(int transactionId, int direction, long timeStamp);

private:
	QMainWindow  		*m_parentWindow;
	QWebFrame    		*m_webFrame;
	SymbianSDKSensors 	*m_symbianSDKSensors;
};

#endif /* SENSORS_H_ */
